import { IPSModelObject } from '../ipsmodel-object';
import { IPSSubSysServiceAPIDE } from './ipssub-sys-service-apide';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSSubSysServiceAPIDERS
 */
export interface IPSSubSysServiceAPIDERS extends IPSModelObject {
  /**
   * 代码标识
   * @type {string}
   */
  codeName: string;

  /**
   * 代码名称2
   * @type {string}
   */
  codeName2: string;

  /**
   * 主接口实体
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getMajorPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 主接口实体
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  get majorPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 主接口实体（必须存在）
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getMajorPSSubSysServiceAPIDEMust(): IPSSubSysServiceAPIDE;

  /**
   * 主控排序
   * @type {number}
   * @default -1
   */
  masterOrder: number;

  /**
   * 从接口实体
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getMinorPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 从接口实体
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  get minorPSSubSysServiceAPIDE(): IPSSubSysServiceAPIDE | null;

  /**
   * 从接口实体（必须存在）
   *
   * @type {IPSSubSysServiceAPIDE}
   */
  getMinorPSSubSysServiceAPIDEMust(): IPSSubSysServiceAPIDE;

  /**
   * 关系项
   * @type {string}
   */
  parentFilter: string;

  /**
   * 关系标记
   * @type {string}
   */
  rSTag: string;

  /**
   * 关系标记
   * @type {string}
   */
  rSTag2: string;

  /**
   * 数组模式
   * @type {boolean}
   * @default true
   */
  array: boolean;
}
